// 封装一个倒计时功能
import { useIntervalFn } from '@vueuse/core'
import { onUnmounted, ref } from 'vue'
// count表示默认值 从几开始倒计时时
export function useCountDown(count: number = 60) {
    const time = ref(0)
    const { pause, resume } = useIntervalFn(
        () => {
            if (time.value <= 0) {
                time.value = 0
                return pause()
            }
            time.value--
        },
        1000,
        {
            immediate: false,
        }
    )
    // 组件销毁时清除定时器
    onUnmounted(() => {
        pause()
    })
    // 调用start 的时候开始倒计时 把time改成具体的数值 调用resume
    const start = (num?: number) => {
      // 如果传递了num就从num开始倒计时 ,否则就用默认值
        time.value = num || count
        resume()
    }
    return {
        time,
        start,
    }
}